//
//  BaseNav.m
//  adapter
//
//  Created by ac-hu on 2018/7/1.
//  Copyright © 2018年 ac-hu. All rights reserved.
//

#import "BaseNav.h"

@interface BaseNav ()

@end

@implementation BaseNav

- (void)dealloc {
    NSLog(@"%s",__FUNCTION__);
}

#pragma mark 一个类只会调用一次
#pragma mark 这里的代码不要去掉，未登录前会使用这里的导航栏设置,登录后使用的是BaseController里的导航栏设置
+ (void)initialize
{
//    UIImage *bg = IOS7_OR_LATER ? [UIImage imageNamed:@"NavBarWhite64"]: [UIImage imageNamed:@"NavBarWhite"];
//    bg = [BNavigationController imageByApplyingAlpha:.7 image:bg];
    
//    UINavigationBar *bar = [UINavigationBar appearance];
//    [bar setBackgroundColor:DDColorA(255., 255., 255.,.8)];
//    [bar setBackgroundImage:bg forBarMetrics:UIBarMetricsDefault];
//    [bar setShadowImage:bg];
//    bar.barStyle = UIBarStyleBlackTranslucent;
    //    导航栏变为透明
//    [bar setBackgroundImage:[UIImage new] forBarMetrics:0];
//    //    让黑线消失的方法
//    bar.shadowImage=[UIImage new];
    
//    [bar setTintColor:[UIColor blackColor]];
//    [bar setTitleTextAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:18.]}];
    // 1.取出设置主题的对象
//    UINavigationBar *navBar = [UINavigationBar appearance];
//    UIBarButtonItem *barItem = [UIBarButtonItem appearance];
//
    
//    // 2.设置导航栏的背景图片
//    NSString *navBarBg = nil;
//    if (iOS7) { // iOS7
//        navBarBg = @"NavBarWhite64";
////        // 设置导航栏的渐变色为白色（iOS7中返回箭头的颜色变为这个颜色：白色）
//        UIToolbar *naviBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 64., ScreenWidth, 64.)];
//        naviBar.tintColor = [UIColor whiteColor];
//    } else { // 非iOS7
//        UINavigationBar *navBar = [UINavigationBar appearance];
//        navBarBg = @"NavBarWhite";
//        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
//    }
    
////    [navBar setBackgroundImage:[UIImage imageNamed:navBarBg] forBarMetrics:UIBarMetricsDefault];
//    [navBar setAlpha:.5];
////    [navBar setBackgroundColor:[UIColor whiteColor]];
//    
//    // 3.设置导航栏标题颜色为白色
//    [navBar setTitleTextAttributes:@{
//                                     NSForegroundColorAttributeName:DDColor(74., 74., 74.)
//                                     }];
//    
//    // 4.设置导航栏按钮文字颜色为白色
//    [barItem setTitleTextAttributes:@{
//                                      NSForegroundColorAttributeName:DDColor(74., 74., 74.),
//                                      NSFontAttributeName:[UIFont systemFontOfSize:13]
//                                      } forState:UIControlStateNormal];
}

////设置图片透明度
//
//+ (UIImage *)imageByApplyingAlpha:(CGFloat)alpha
//                            image:(UIImage*)image
//{
//    UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.0f);
//    CGContextRef ctx = UIGraphicsGetCurrentContext();
//    CGRect area = CGRectMake(0, 0, image.size.width, image.size.height);
//    CGContextScaleCTM(ctx, 1, -1);
//    CGContextTranslateCTM(ctx, 0, -area.size.height);
//    CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
//    CGContextSetAlpha(ctx, alpha);
//    CGContextDrawImage(ctx, area, image.CGImage);
//    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
//    UIGraphicsEndImageContext();
//    return newImage;
//}

#pragma mark 控制状态栏的样式
/*
 状态栏的管理：
 1> iOS7之前：UIApplication
 2> iOS7开始：交给对应的控制器去管理
 */
- (UIStatusBarStyle)preferredStatusBarStyle
{
//    return UIStatusBarStyleDefault;
    // 默认白色样式
    NSInteger statusBarStyle = UIStatusBarStyleDefault;//UIStatusBarStyleLightContent;
//    switch (_naviBarStyle) {
//        case KNavigationBarStyleOrange:
//        {
//            // 白色样式
//            statusBarStyle = UIStatusBarStyleLightContent;
//            break;
//        }
//        case KNavigationBarStyleWhite:
//        {
//            // 黑色样式
//            statusBarStyle = UIStatusBarStyleDefault;
//            break;
//        }
//        default:
//            break;
//    }
    return statusBarStyle;
}

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    if (self.childViewControllers.count > 0) { // 如果push进来的不是第一个控制器
        // 隐藏tabbar
        viewController.hidesBottomBarWhenPushed = YES;
    }
    // 这句super的push要放在后面, 让viewController可以覆盖上面设置的leftBarButtonItem
    [super pushViewController:viewController animated:animated];
}

- (void)back {
    [self popViewControllerAnimated:YES];
}

@end
